iT邦幫忙

DAY 9
0

探索 Jenkins-CI 從認識到應用系列 第 9

9. 飛鴿傳書 - 如果沒事,我們是沒有必要每天見面的

  • 分享至 

  • xImage
  •  

如果沒事,我們是沒有必要每天見面的

專業的軟體工程師,會一兩套自動化工具減輕開發過程負荷,這個是必要的附加技能。但如果用的自動化工具,還必需每天親自檢查運作狀態,那就有點兩光了。最好是自動搜集資訊,主動匯整後發送通知,最基本的,至少發個信來問候一下吧!

好的自動化工具,會知道何時通知、如何通知、及通知什麼

本篇同步發表於:http://www.gibar.co/2014/10/email-ext-plugin.html

Jenkins 本身已有內建Email Notification,但只會在專案出錯,及由出錯回復正常這兩個事件發送通知;有點不足。當然Jenkins的外掛不是掛假的,外**掛排名中輩份最高,字號最老,更新最多,安裝數Top 10**,就是這篇要介紹的 Email-ext Plugin

本篇相關外掛清單,過程不再贅述

[*]Email-ext Plugin
[*]xUnit Plugin

目標情境

還記得本系列建構的第一個專案Google Guava嗎?當時提到他在2012年時號稱專案有286,000+個unit test!!今天的情境,就是將每日測試報告的結果,使用Email-ext寄到管理者的信箱。

將測試與報表產出的工作交由 Jenkins 處理

第零步:產生測試結果

這部份不是本篇主題,以下簡短的說明使用Google Guava單元測試產出的設定

  • Maven Goal: clean package
  • JUnit Pattern: **/target/surefire-reports/*
    .xml

** 代表所有目錄

在有兩次以上的測試成功後,才會顯出結果的趨勢圖,哇注意到了嗎!Guava專案現在有60多萬個測試項目

第一步:設定發信 SMTP (Gmail)

在管理Jenkins >> 設定系統

在設定的最下方有『電子郵件通知』,使用者名稱當然就是使用你在gmail的帳號,密碼可能會視你在google使用的安全性有所分別,使用SSL必需勾選,連接埠465,然後勾選寄測試信,點右下角測試設定,如果有收到這步就算完成囉!

第二步:調整全域預設信件範本

在同一個頁面的上方,還有一個『擴充電子郵件通知』,這個就是Email-ext Plugin 的設定內容了,最基礎的內容其實比Jenkins 預載的送信通知還遜。當然這是可以調整的。Email-ext 的內容可以使用範本來產生,支援Jelly, Groove 兩種格式,其實我也不會寫,但是我們就是可以使用其它人提供的來修改囉。我們先切換到CentOS系統中,搞定以下兩點設定。

以上指令主要只是在建立目錄及下載範本回來放,接著只要設定預設的信件本文內容指定使用範本就完成了。

預設內容 : ${JELLY_SCRIPT,template="template.jelly"}

要記得將內容類型調整為HTML,並修改預設內容,欄位右方的問號圖示點下後都有詳細說明

第三步:設定專案信件觸發內容

前一步我們設定了預設的信件內容,最後只要指定何種情況下,要將信件寄送出去,送給誰。

在專案的組態中新增建置後動作,增加可編式電子郵件通知,修改收件人後請點Advanced Settings

修改Triggers,可以在Add Trigger中找到適合發送時機,我們需要日報,不管死活都要送出,選用Always

第四步:檢視結果

我們可以先在專案中測試發送信的內容

依照設定,每次專案建置後都會寄送一份資訊到指定的收件者 (上)

同時可以快速的檢視專案大略修改的內容與人員 (下)

一封圖文並茂,包含了專案變更清單、自動化測試+結果,在Jenkins完成後,就會寄送給相關的專案成員,不論是讓老闆知道專案狀態,或是讓成員知道提交的內容是否有問題,都可以在早上抵達辦公室時立即得到結果;這對團隊型專案的管理是不可缺少的。還是我們的老原則『重複的事,就要交給電腦去做』,我們要做的,只是將這個原則發揮的淋漓盡致。

接著,是基礎準備工作中的最後一篇,備份與還原。建置一套系統,提交備份還原的計畫,應該許多人不陌生;不然我們辛苦設定了許久,一包乖乖過期就讓一切重來,太不值得了。

下一篇:災復演練 - Jenkins 備份與還原

本篇同步發表於:http://www.gibar.co/2014/10/email-ext-plugin.html


上一篇
8. 保密防諜 - Jenkins 簡而易懂的人員管理
下一篇
10. 災復演練 - Jenkins 備份與還原
系列文
探索 Jenkins-CI 從認識到應用16
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言